import express from 'express'
const router = express.Router()
// 成功 和 失败的 规范化格式
import SuccessModel from '../module/SuccessModel.js'
import ErrorModel from '../module/ErrorModel.js'
import knex from '../utils/myKenx.js'
// 新增英雄接口
router.post('/add', (req, response) => {
  console.log(req.body.name)
  //   const { name, imgUrl } = req
  //   if (
  //     name === undefined ||
  //     imgUrl === undefined
  //   ) {
  //     // 错误
  //     response.send(new ErrorModel({ msg: '新增失败,参数有误,请检查' }))
  //   } else {
  //     knex('banner')
  //       .insert({ name, imgUrl })
  //       .then(res => {
  //         // console.log('res:', res)
  //         response.send(new SuccessModel({ msg: '新增成功' }))
  //       }).catch(err=>{
  //         response.send(new ErrorModel({msg:'新增失败,请稍后再试'}))
  //       })
  //   }
})

// // 修改 英雄接口
// router.post('/update', upload.single('icon'), (req, response) => {
//   // file 不传文件 是undefined
//   // 不提交文本的数据 body 也是对象
//   const { file, body } = req
//   // 接收传递的参数 req.body
//   const { id, name, title, desc } = body
//   // 没有传递参数
//   if (
//     id === undefined ||
//     name === undefined ||
//     title === undefined ||
//     desc === undefined ||
//     file === undefined
//   ) {
//     response.send(new ErrorModel({ msg: '修改失败,请检查😭' }))
//   } else {
//     knex('hero')
//       .update({ name, title, desc, icon: imgBaseUrl+file.filename })
//       // 限制 已经被软删除的数据 不能再修改
//       .where({ id, isdel: 0 })
//       .then(res => {
//         // console.log('res:', res)
//         if (res !== 0) {
//           // 成功
//           response.send(new SuccessModel({ msg: '修改成功😄' }))
//         } else {
//           response.send(new ErrorModel({ msg: '修改失败,id有误😭' }))
//         }
//       })
//   }
//   // 传递了参数
// })

// // 软删除 本质是修改
// router.post('/delete', (req, response) => {
//   // 接收 id
//   const { id } = req.body
//   // 非空判断
//   if (!id) {
//     // id为undefined 没有传递
//     // 阻断后续代码执行
//     response.send(new ErrorModel({ msg: 'id不能为空' }))
//     return
//   }
//   // id有值
//   knex('hero')
//     .update({ isdel: 1 })
//     // 考虑 isdel=0 才可以删除
//     .where({ id, isdel: 0 })
//     // .where({ id })
//     .then(res => {
//       // console.log('res:', res)
//       if (res === 1) {
//         response.send(new SuccessModel({ msg: '删除成功' }))
//         return
//       }
//       // res不为1 删除 失败
//       response.send(new ErrorModel({ msg: 'id有误,请检查' }))
//     })
// })

// // 详情接口
// // (\\d+) 限制id只能是数字
// router.get('/:id(\\d+)', (req, response) => {
//   // 获取id
//   const { id } = req.params
//   // console.log('id:', id)
//   // response.send('查到了数据,好棒棒哟!')
//   knex('hero')
//     // 不需要 isdel字段
//     .select('id', 'name', 'title', 'icon', 'desc')
//     // 查询 需要考虑 isdel的问题
//     .where({ id, isdel: 0 })
//     .then(res => {
//       // console.log('res:', res)
//       if (res.length === 0) {
//         // id有误
//         response.send(new ErrorModel({ msg: 'id有误,请检查' }))
//       } else {
//         // 返回
//         // 详情返回一条数据即可,不用返回数组
//         response.send(new SuccessModel({ msg: '查询成功', data: res[0] }))
//       }
//     })
// })

// // 查询英雄列表
// router.get('/all', (req, response) => {
//   // 接收 查询参数
//   const { q } = req.query
//   if (q === undefined) {
//     // 返回所有
//     knex('hero')
//       .select('id', 'name', 'title', 'icon')
//       .where({ isdel: 0 })
//       .then(res => {
//         response.send(new SuccessModel({ msg: '查询成功', data: res }))
//       })
//   } else {
//     // 查询并返回
//     knex('hero')
//       .select('id', 'name', 'title', 'icon')
//       .where('title', 'like', `%${q}%`)
//       .andWhere({ isdel: 0 })
//       .then(res => {
//         // 没查出来
//         if (res.length === 0) {
//           response.send(new ErrorModel({ msg: '查询失败,请检查' }))
//         } else {
//           // 查询出来了
//           response.send(new SuccessModel({ msg: '查询成功', data: res }))
//         }
//       })
//   }
// })

// module.exports = router
export default router
